草庐IT

php - Sublime Text 3 PHP 单元

全部标签

c# - Visual Studio 单元测试在 TFS 构建上运行速度较慢

我的项目有1000多个单元测试,在本地机器上,所有测试都在不到10秒的时间内完成。但是,当它们在TFSBuild上运行时,某些测试的运行速度明显低于其他测试。其中3个在大约1-2分钟内运行,其他4个在5-30秒内运行,而其他则在几分之一秒内运行。我注意到所有那些较慢的测试都使用来自MicrosoftFakes的假货,并且每个测试都是同类中第一个运行的。但是很多其他测试也使用假货(有些更密集)并定期运行。我想知道是什么导致了这种放缓,我该如何解决。编辑:我注意到每个较慢的测试都在无模拟测试之后运行。也许这种减速是由ShimsContext的初始化引起的。在我的测试类中,ShimsCont

c# - 调试由于 StackOverflow 异常而失败的单元测试

每当单元测试由于StackOverflowException而失败时,单元测试过程会立即退出-找出发生了什么(据我所知)的唯一方法是调试单元的故障转储按照此处找到的步骤获得的测试过程CollectingUser-ModeDumps获取在抛出StackOverflowException时正在运行的单元测试的名称的最简单方法是什么?即使在调试单元测试时,我也很难找到当前单元测试的名称,因为它位于堆栈底部,而VisualStudio不会在调试窗口中显示整个堆栈,因为它太大了。有没有办法在不收集和调试故障转储的情况下找出哪个单元测试失败? 最佳答案

c# - 寻找具有广泛单元测试的*小型*、开源、c# 项目

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。关闭8年前。Improvethisquestion(我问了this问题,但没有得到太多回应。建议我就C#提出同样的问题。)我是一名VB.NET开发人员,几乎没有C#经验(是的,我知道我需要用C#编写更多代码),正在寻找能够展示高单元测试覆盖率的小型开源项目来学习。我正在寻找小型项目,因为我不想为了更

c# - 需要在单元测试中向请求添加自定义 header

通过在线查找一些代码,我终于能够让HttpContext.Current不为空。但是我仍然无法在单元测试中向请求添加自定义header。这是我的测试:[TestClass]publicclassTagControllerTest{privatestaticMock>Service{get;set;}privateTagControllercontroller;[TestInitialize]publicvoidThingServiceTestSetUp(){Tagtag=newTag(1,"people");Responseresponse=newResponse();response

c# - 如何使用 OpenXML SDK 获取应用格式(格式化单元格值)的单元格值

我一直在谷歌上搜索并在网站上搜索答案,但我找不到解决方案-到处都是人们主要讨论如何向文档添加新的数字格式并应用它。我需要的是将单元格值作为应用格式的字符串获取-即与Excel显示的字符串相同。我已经意识到没有简单的方法或内置函数可以为单元格返回现成的格式化值。所以在我看来,要获得值(value),我需要做两件事:1.获取格式字符串。2.使用此字符串格式化单元格值。但这两个步骤我都遇到了问题。可以轻松获取包含NumberFormatId的CellFormat实例:CellFormatcellFormat=(CellFormat)document.WorkbookPart.Workbook

c# - 如何在单元测试中为并发建模?

我对单元测试还很陌生,目前正在尝试使用VisualStudio的测试工具。我的问题是如何在这些测试中定义有关并发行为的断言。例如。上课BoundedChan实现有界channel,我如何指定像这样的测试“channel.Send不会阻止”或“如果超出channel的容量,channel.Send将阻塞直到读取值”是否有一个优雅的解决方案来编写这些断言? 最佳答案 不幸的是,并发性仍然是单元测试的一个领域,很难轻松构建。这不是一个简单的问题,仍然需要你在测试中实现一些自己的同步和并发逻辑。对于您提供的示例,可能无法编写最终证明某个方法

c# - 单元测试异步操作

我想对一个执行异步操作的方法进行单元测试:Task.Factory.StartNew(()=>{//methodtotestandreturnvaluevarresult=LongRunningOperation();});我在我的单元测试(用c#编写)中stub了必要的方法等,但问题是在我断言测试之前异步操作没有完成。我该如何解决这个问题?我应该创建TaskFactory的模拟或任何其他技巧来对异步操作进行单元测试吗? 最佳答案 您必须有某种方法来伪造任务创建。如果您将Task.Factory.StartNew调用移动到某个依赖项

c# - 单元测试内存泄漏

我有一个存在大量内存泄漏的应用程序。例如,如果打开一个View并将其关闭10次,我的内存消耗会增加,因为View没有完全清理。这些是我的内存泄漏。从测试驱动的角度来看,我想编写一个测试来证明我的泄漏,并且(在我修复泄漏之后)断言我修复了它。这样我的代码以后就不会被破坏。简而言之:有没有办法断言我的代码没有从单元测试中泄漏内存?例如我可以做这样的事情吗:objectsThatShouldNotBeThereCount=MemAssertion.GetObjects().Count;Assert.AreEqual(0,objectsThatShouldNotBeThereCount);我对

c# - ReSharper 单元测试运行程序对外部类给出不确定性

我有使用nUnit编写的单元测试,测试的结构与PhilHaack'spost中的类似namespaceMyNamespace{[TestFixture]publicclassClassToTest{[TestFixture]publicclassMethodToTest{[Test]publicvoidThrowsArgumentNullException_OnNullIndex(){...}..moretestsforthemethod..}[TestFixture]publicclassAnotherMethodToTest{[Test]publicvoidThrowsArgume

c# - 使用包含协变类型的项目的访问器在单元测试项目中构建失败

我为我们的项目添加了一个协变接口(interface):interfaceIView{}interfaceIPresenterwhereTView:IView{TViewView{get;}}我创建了一些类,实现了这些接口(interface):classTestView:IView{}classTestPresenter:IPresenter{publicTestViewView{get{returnsomething;}}privatevoidDoSomething(){}}我可以毫无问题地使用它:IPresenterpresenter=newTestPresenter();所以一